Doubles

Now uses doubles to store rectangles, this way if a rectangle moves say
1.5 up and 2 right, it actually does something closer to that, rather
than 2 up and 2 over with no easy correction.