AUI-1670 Adding prefetching to Surface

Cross-reference with Senna:
https://github.com/eduardolundgren/senna/issues/66
AUI-1670 Moving tests to bottom

The tests for aui-surface are not cleaning the state correctly between each test, which causes the new tests to fail. We need to change the existing tests to stop depending on each other, but until we do so I'll just move these tests to the bottom so they'll pass.
AUI-1670 Source formatting