Thumper's resource management refactor.

There now exists a GenericResourceManager class that can be declared with different template parameters to manage different types of resources.

Fixes #67, Fixes #69, will cause merge conflicts with #71

See also #72 which is an alternative to this PR.

Discuss.