WIP: AngularJS support

 - Entire Angular API space covered
 - Some new features require implementing to make
    this 100%