Converted IOExceptions to IllegalArgumentExceptions
Changed Exception to IOException
Added missing equals and hashCode methods
Added Point2D and Point3D
Added ReferenceMap and Releasable
Refactored asset managment and rendering