Fix bug with setting entities in the right listener pools

AND-ing two numbers > 0 will end up with either 0 or some number > 0,
but that doesn't mean they and-ed properly! Fix to do a proper AND check
for the component map a listener is looking for.
Add an Entity Name and String convert for easier debugging
Cameras can recieve components, which will be added to its entity
Move the FPS input management to the camera itself
Allow setting a speed on a camera's movements

Test speed setting and also position setting
Change Camera ViewMatrix to come from it's entity's rotation

LookAt is a bad way to deal with camera views who's position and
orientation change regularly. Now pulling in position and rotation
information and building the view matrix from that instead.
Calculate the Transpose of a Matrix
Put related variables close to each other
Add some documentation to Camera methods

Also fix up the camera tests. Up doesn't exist anymore.
Memoize the Camera entity's transform component

No need to keep looking this up, we can just store the pointer locally.
Build Quaternions from Axes and Rotation Matricies

That was fun figuring out all this mess! Quaternions are weird! But so
super handy.
Transform component can now look at points in space

Updated the Camera to let the Transform of its entity handle rotations
for it's view matrix.