Add (and/or stub out) many missing features and fix several bugs.

At Toushay, we recently ported a large iOS codebase to OS X via Chameleon. In the process, we encountered several differences between iOS UIKit and Chameleon. This pull request is a compilation of all the changes we needed to make to Chameleon to get our application behaving properly.

Sorry for lumping a bunch of unrelated changes into one pull request. Let me know if you'd like me to split it apart or exclude any commits.