Implements visitor to apply transform to coordinates
Migrates Transformation logic to matrix operations
Moves inversion logic out of Framework-dependent part.
Moves scale checking to transform