Complete Overhaul

PhysicsObjects have been reworked, DisplayObjects have been reworked,
Displays have been reworked a little, the physicsEngine is in the
process of being reworked. Fundamental flaws in the entire system made a
need for heavy reworks. Now working from some online sources I'm
reworking the game to have true rigid body physics and efficient
collision handling. The article I'm referencing is intended for 3D based
modeling, but it is perfectly applicable in 2 dimensions.

An extra layer of abstraction was added to display objects so that I
could draw primitives and lineSegments. The new physicsObjects are far
from done, but they have a Runge-Kutta integrator for all of their ODEs.
That includes torque (cross product of force and vector from force
application point to center of mass).

the physicsEngine is currently in the rework spotlight. I've written a
bounding box sorting algorithm that sorts bounding boxes into 1D cases
for each axis (parallel to coordinate plane). It then finds all 1D
overlaps within that axis and checks if all other axes have overlaps
with the same objects. An overlap in all axes is an overlapping bounding
box. A table of overlapping bounding boxes is cached for the next cycle
and only updated if the 1D coordinate lists have to be sorted for any
reason.

Next, I'll have to find a surface between the objects inside of the
bounding box that separates them. If a surface exists, they are not
touching. It'll be an evaluation of whether or not all vertices of one
object are above that line (surface)separating them and the vertices of
the second object are on or below the line (and vice versa). Then we get
to handling real collisions and contact.