fix(map): Make mapping clearer and 20% faster.

Closes #222

BREAKING CHANGE: The syntax for @NgAnnotation(map) has been changed.

- LHS (attribute) must be dash case. Change 
  {'onClick': '…'} to {'on-click': '…'}

- RHS (expression) must be explicit. Chnage
  {'onClick': '.'} to {'on-click': 'onClick'}

- RHS (expression) now always evaluates agains the controller
  The . prefix is no longer support. (It is as if we always had .)
  If we need to map to scope then inject scope into field and refer
  to it by name.
  {'title': '@.title'} to {'title': '@title'}
  {'title': '@title'} to {'title': '@scope.title'}
  class Foo{ Scope scope; Foo(this.scope); }

- RHS (expression) changed prefix
  = is now <=> or =>
  ! is now =>! 
  {'foo': '=foo'} to {'foo': '=>foo'}