Media queries

This pull request supports `@media` queries with the parameters `(orientation: ipad | iphone)` or `(device: landscape | portrait)`. They can be combined with `and`. A `@media` block can contain a combination of variable definitions and rules. The updated README contains examples.

Also included: 

* The orientation notification is now sent when the interface orientation changes, rather than the device orientation.

* For the orientation `@media` query I needed some way to re-render. However, the registeredObjects array was causing memory leaks and did not handle the case where a stylesheet change affected unrendered objects. I did some timing tests and discovered that walking the visible views took the same amount of time as using registeredObjects. Therefore I removed the registeredObjects functionality, both for handling `@media` orientation changes and auto-update.

Fixes #3 and #180.