Cache Proj4 objects in projector so we don't create many for the same projection. Also add benchmark test. Results for this change:

FeatureCollection x 4.34 ops/sec ±3.95% (15 runs sampled)
Feature x 3.69 ops/sec ±3.36% (14 runs sampled)
Old FeatureCollection x 4.21 ops/sec ±4.38% (15 runs sampled)
Old Feature x 0.72 ops/sec ±3.91% (6 runs sampled)
Don't obtain a Proj4 object if we aren't going to use it (i.e. projecting 4326 <--> 900913).

Performance on `sf_streets.json` from nodetiles-init:
FeatureCollection x 4.38 ops/sec ±3.99% (15 runs sampled)
Feature x 5.38 ops/sec ±3.32% (18 runs sampled)
Old FeatureCollection x 4.27 ops/sec ±4.31% (15 runs sampled)
Old Feature x 0.75 ops/sec ±2.86% (6 runs sampled)
Allow Proj4 instances to be passed into `project.FeatureCollection()`. Also abstract the process of getting a proj4 instance. No major performance impact! Fixes #54.
Fix test failure. It appears we didn't previously *actually* avoid using Proj4 like the logic clearly intended. Now that we are, one of the test values was off by 0.000000002. That's small enough to be acceptable, so I'm just amending the test.
Add tests for whether Proj4 is actually getting used. Fixes #61.
Merge pull request #60 from nodetiles/bug-54-projector-perf

Improve projector performance with Proj4 caching, arguments and avoidance