Added Box (2d AABB) to MathDevice types and added properly typed
externs for AABBTree and BoxTree (as much as possible).
Changed Ray to be a parameterised type in MathDevice
(eg: Ray<Vector2> for BoxTree, Ray<Vector3> for AABBTree)

Typed most of the 2d physics API, stubs for World/RigidBody at present.

Added the Broadphase type used in 2d physics, but moved to util package
and correctly parameterised to make explicit its general purpose nature
beyond 2d physics, or even 2d at all.