Interesting comparing your version to what I did back in May (Just Basic). I did all my turns 90 degrees clockwise with the right hand using an axis(x, y, z) + layer (1, 2, 3 top down, front to back or left to right) key presses signal. And I also solved by recording the moves and "reversing" them by turning each 3 more times clockwise which effectively eliminates the last move made. I too had no Rubik's cube to experiment with and ended making one of paper to help visualize results of moves. It was a very challenging programming problem.
My screen layout looked like this (after 3 moves, 1st layer of each axis):
EDIT: hmm... first snapshot didn't look right so I ran program x1, y1, z1 and got this screen shot.