Settings functionality

- All settings are now updated when the Save button is pressed.
- Mouse/Key Bindings can now be recorded and are saved when the Save
button is pressed.
- Context Menu customisation is just a simple multi-line text box for
now. In a later update it may be updated to have some sort of nice user
friendly drag-and-drop editor.