Bug 945277 - Align sub-frame display ports to tile boundaries. r=botond

Bug 907743 only addressed the root frame, this patch updates APZCCallbackHelper
to make the same alterations on sub-frame metrics.
Bug 915673 - Only use tiled layers for scrollable layers on b2g. r=tn,bgirard

Introduce a constructor for thebes layers that can take a hint about what the
layer will be used for, and use that hint to only create tiled layers when
the layer represents scrollable content.
Bug 935807: Restore arrow key input field navigation behavior. r=bnicholson