NWN: Update the character generator

- Use un abstract class for all chargen gui's
- Use a proper way to handle button's mode
- Add doxygen doc
NWN: Use corretly sub gui in CharTypeMenu