Add test jshintrc to suppress qunit globals & line length errors.

Update QUnit to latest (1.13.0).
Add `useRAF` option. Converted all expected use to async.

`useRAF` coalesces repeated renders using the tick of the browser's
native `requestAnimationFrame`, allowing us to safely discard render
work that would not be seen before the next frame.

This brings with it significant performance advantages, especially
in situations where views may be listening to events on collections,
such as 'add', and 'remove'. Rather than rerender for every event
thrown, renders that would not be seen are thrown out.

It is still safe to use `.then()` on the promise returned by a render,
as it will be resolved at the next tick of `requestAnimationFrame`,
regardless of whether or not it was the actual render call used.

This change requires that we assume every render to be async, and
removes the current ambiguity where renders are synchronous, unless
they contain a single async component. It is now required that
users treat each and every render as async, because it is guaranteed
to be.

This behavior may be turned off without consequence by setting
`"useRAF": false` inside LayoutManager.configure().
Updated tests to work with previous `useRAF` commit.

Views tests are now run with and without RAF coalescing.
Clean a few unused lines in `_registerWithRAF`.