Added `getIniFileDirectory` method to ITheme

This will be required by dispatch to load resources from the correct locations using a theme.ini file. The default form this takes has been implemented in BaseTheme so that it should not need to be changed. ApplicationTheme has its own empty implementation just to comply with ITheme.
Updated dispatch to work with themes.

Also fixed `getIniFileDirectory` to use the calling class's file name.