refactor(AutoResize): Avoid excessive $digests

Using $timeout for the loop to check whether the grid dimensions have
changed or not is causing a $digest() loop every 250ms. This can cause
quite a lot of slow-down in a large grid.

Changing to explicitly calling $apply() within a setTimeout() when the
dimensions have changed should fix this. The tests have been updated to
use Jasmine's async features to cover this alteration.

Fixes #2284. Fixes #2247