Better Rotation

I have implemented better rotation, basically cutting out all of the
fancy maths stuff that didn't make sense and storing each rotation state
in memory individually.
The maths classes have been removed as none of them are now needed.
There might be a problem with some of the pieces not rotating properly,
but its not a big issue and I will look into it more later on.