Many tweaks to class and additions curtesy of Lee Rowlett for user controls.  Hooks can now check for elements of the FOGBase abstract class.

git-svn-id: https://svn.code.sf.net/p/freeghost/code/trunk@1960 71f96598-fa45-0410-b640-bcd6f8691b32