Unique power trees and item requirements for classes

Closes #1238 

### Class names
Note that base class names will be incorrect for existing save files, since that information was previously unavailable.

### Power trees
The syntax for power tree files is essentially the same as it was in MenuPowers. However, tabs and background images are defined in a way that is more robust. A global background image can be defined, and backgrounds can be omitted completely. Example:

```
background=images/menus/generic_power_tree.png

# tab 0
[tab]
title=Warrior

# tab 1
[tab]
title=Ranger
background=images/menus/ranger_power_tree.png
```

### Item Requirements
This is implemented much how I described it in the original issue.