Optimized CRS.project and CRS.unproject

Creating a new projection object on every call to `CRS.project` and `CRS.unproject` is slow. This is another performance bottleneck that showed up in the script profiler as limiting the frame rate.

This optimization is one of many necessary to get the frame rate consistent enough for virtual reality applications (#57).