Update tests for AngularJS 1.2

**Update:** Looks like if I just switch over to AngularJS 1.2 without maintaining 1.0 compatibility, there are little changes to be made and the tests pass.

---

~~This pull request is a work in progress.~~

I'm re-working tests so that they test for AngularJS 1.2 compatibility and differences.

Purpose of this:
- Highlight things that need to be changed to make things work with AngularJS 1.2

This pull request:
- ~~Should not break any tests while running on AngularJS 1.0.8 (the current test setup)~~ See comments below
- Does not contain any changes to the modules, only changes to the tests

To use:
1. Replace `test-lib/angular.js` and `test-lib/angular-mocks.js` with the 1.2 versions of those files.

---

The biggest change affects datepicker and timepicker tests is that ngModel is no longer using the isolate scope of the element directive, so using `$parent.model` breaks the tests as it's trying to access the model from the parent of the root scope. See [breaking changes in the changelog](https://github.com/angular/angular.js/blob/master/CHANGELOG.md#breaking-changes-1) and the original issue: https://github.com/angular/angular.js/issues/1924 .

Another change that's breaking tests is that `ngShowHide` now adds/removes the `ng-hide` class instead of setting the `display` CSS property directly.

While working on this, I noticed a number of hacks around the edge cases. Some attributes had model-like behavior (two-way binding) (e.g. `open`), while other attributes were being picked up on the controller (before the linking and before the scope maybe ready). I think it's important to note these differences. This can be done either through documentation or via a naming convention of the attributes. I noticed an eye icon that I believe is supposed to mean something, but it's not quite clear what that means. (Shall put out another issue for this)