perf(jqLite): don't use reflection to access expandoId

Since we allow only one copy of Angular to be loaded at a time it doesn't
make much sense randomly generate the expando property name and then be
forced to use slow reflective calles to retrieve the IDs.
perf(jqLite): optimize adding nodes to a jqLite collection

This code is very hot and in most cases we are wrapping just a single Node so
we should optimize for that scenario.
perf: optimize internal isWindow call

Each window has a reference to itself, which is pretty unique so we can use
that to simplify our isWindow check
chore: name the event callback used by ngClick and friends

This maskes looking at stack traces easier.

Since we generate the callbacks for each event type at runtime and we can't
set function's name because it's read-only, we have to use a generic name.
perf(jqLite): cache collection length for all methods that work on a single element

This affects jqLite#html, #text, #attr, #prop, #css and others.
perf(ngBind): set the ng-binding class during compilation instead of linking
perf($compile): move ng-binding class stamping for interpolation into compile phase
test(isWindow): add tests for isWindow