Transformer refactored (split into smaller pieces responsible for different JSX node types); added location tracking.