Merge pull request #225 from nathan/cache-rgb

Cache RGB when setting pen color
Warp unwarped procedures called from warped procedures
Merge pull request #227 from nathan/fix-warp

Warp unwarped procedures called from warped procedures
Improve charAt
String(…) -> "" + …
Use faster letter of
Set lineCap less often
Use equal() instead of compare() for testing equality
Cast arguments at the beginning of a procedure