matrix 44 to 33 conversions and 33 transpose
load textures with inverted vertical and normal horizontal, this is because 0,0 is upper right in editors and lower left in opengl texture coords
billboard material for rendering
bring billboard mesh inline with opengl "standards" where y is up, image is on x/y plane and texture coord start 0,0 in lower left.  also fix the mesh radius
do entity rotation based on billboard type and use new billboard material for torpedo and sparks