Changed contract for program-bank pp-hook function

The hook function nmust now return a string
Adds filename manipulation utility
Minor code cleanup
Added seesaw to project
Added initial swing components
Added access to parent performance from program-bank
Added function-keys method
Allow nil synths argument to program-change for testing
Bug fix
Adds icon suport from resource directory
Adds undo/redo stacks
Added ui undo-stack
Added string padding function
Added bank clone and copy-state! methods to program-bank
program-bank function-keys method now included nil
Added ui factory.clj
Minor code cleanup
Added GUI keypad component
Added new argument combination for set-program
Added temp config parser