minor cleanup
Begin floating point rounding compensation

The approach here is to turn a float into a non-rounded clipped version to
remove the small precision issues found at the higher decimal places.

Default decimal places is at 8, but can be changed by updating Vec2.precision = <int>
Add lerp
avoid array ops in clean, add clean where missing