Annotation-based constants for views

This patch adds support for annotations to be placed on view methods themselves and have a value() method which will be interpreted as the value, as opposed to requiring a constant be passed in to the view method each time it is invoked.

Fixed a missing import and bad math in a test.

Added a few more helpful annotations for view construction.