Implemented resource renaming.

* Created a new class called ResourceListBaseItem which all the items that are placed into the ResourceListContainer inherit from. The rationale being there was starting to be a fair bit of stuff that was shared by both the header and the list items. This also allowed for methods indicating which could be removed or renamed.
* Added functionality to the Delete Resource button.
* Added enabling and disabling of the delete and rename buttons based on the new methods added by the ResourceListBaseItem.

Resolves #29