Attribution control refactoring

This pull request refactors the attribution control to use the frame state architecture. It has several nice features, including:

 * Increased precision (the renderers record which data they use rather than having the attribution control trying to guess)
 * Increased performance (attribution calculations are done in tile coord space rather than in geographical coordinates, re-projection is done just once)
 * Integration with the render frame loop
 * Works with all view types
 * Handles rotation
 * Fixes #50