redo and undo

still need to add button enable/disable on queue empty
fixed undo/redo state, made removed pieces reappear