Overhauled the collision detection system, made several changes to several classes to repair the errors caused by the change and made the spriteobject class abstract