Finished TexturedParticle, added interfaces and base classes