Implement a recursive function that traverses a nested dictionary structure and flattens it into a single-level dictionary.