Implementation using CALayers

I modified your implementation in your master branch to use CALayers (CAShapeLayer & CATextLayer). Check it out in my fork it's under the CAShapeLayer branch.
I ran a couple of tests with instruments's time profiler.
It's faster than the master branch. 
Its similar to the GL branch.

Here is the run for GL.
![GL](https://f.cloud.github.com/assets/221807/255092/b7890ba4-8c03-11e2-9298-a4cafd0d769f.png)

Here is the run for master.
![master](https://f.cloud.github.com/assets/221807/255093/b7c863b2-8c03-11e2-98e7-2fc7e393257e.png)

Here is the run for CAShapeLayer.
![CAShapeLayer](https://f.cloud.github.com/assets/221807/255094/b835a634-8c03-11e2-9b61-1f83bed75c6f.png)