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/255131/a6a6e27e-8c04-11e2-8533-bf5cbebcfc1e.png)

Here is the run for master.
![master](https://f.cloud.github.com/assets/221807/255132/a806993e-8c04-11e2-8bc5-49bef1c5713c.png)

Here is the run for CAShapeLayer.
![CAShapeLayer](https://f.cloud.github.com/assets/221807/255133/aa189542-8c04-11e2-942a-9c62ee7cc059.png)