Bunch of stuff

Abstracted some code in the commands file, can now give things to your
crust in the main window, creation window passes the object to the main
window correctly, action log is updated and read from file, added a few
more api functions to the crust