Recursively transform object key strings to and from camelCase and snake_case