Better form citizen

Now works better within the context of an angular form. Fairly large refactor. Includes the following:

    * Uses ngModelController to interact with ngModel
    * Properly sets surrounding form as $dirty or $pristine
    * Ability to add a required validation. Will set self and surrounding form as $valid or $invalid accordingly.
    * Uses standard ng-invalid css classes instead of custom ones
    * Bumped version up to 1.3.0-beta