Major Restructuring.

-I made the Shape class concrete instead of abstract. This was to
eliminate the individual shape classes (Shape_S, etc). Now, there's just
one class that can generate all shapes (ShapeConstructor) when the shape
is created. The ShapeFactory class (which did this same thing with the
individual shapes) is obsolete now.

-I split the behavior for drawing and creating blocks into interfaces
and classes. This way, multiple drawing styles can be implemented and
switched between. I've made a hollow block, and a block that fades in
and out. An "official" way the user can see these features is not in the
game yet.