Big changes.

-I changed the rotation algorithm to use preset shapes, rather than
rotating mathematically. My matrix rotation went south when the game was
in motion. My replacement method was, at first, hard-coding the new
locations of each block within a shape when rotation happens. It worked,
but I tossed it in favor of setting up a pivot connection for each block
and having it rotate around that pivot. It's hacky, but it works. I hope
to get matrix rotation working in a refactor of the game some day.

-I added all the hallmarks of a regular Tetris game: Next Shape display,
Hold Shape display, Score display, Lines Cleared display, and a grid
with an actual game going on. I added a hold delay, which is when a
block hits the ground/the pile, but you still have half a second to move
it. I also added a hard drop, which sends your shape to the ground fast.
I also added a tiny flash animation that happens when a line is
completed. The only thing left to add is the mechanic where the game
gets faster the more lines you clear. I'm as of yet undecided on what
score or line benchmark to use for deciding this.

-The game is playable, but only if you download and compile the source
code. I'm still working out some bugs. Mainly:
--Changing the way the blocks were rendered to make a bitmap that will
be only be used once (instead of GDI Graphics that need refreshing every
frame) worked, but now the right and lower edges of gaming grid won't
show.
--The lock delay works, but I want it to be skipped when the user's
newly dropped shape forms a line. As of now, it only does that when the
line was formed from a hard drop.
--Though it isn't a bug, I'm still thinking of ways to refactor the
code. Also, it isn't fully commented because plenty of things are still
brand new.