add AI script functions
Workaround for http://bugs.openmw.org/issues/475
Fix menu/journal/book/scroll buttons when using localised MW-installations

This patch implements a custom widget that can switch its texture on-the-fly, making it obsolete having to use an atlas to get a hover animation. This also removes the predefined size restriction and should now work with all button texture sizes.
Merge branch 'master' of git://github.com/zinnschlag/openmw into HEAD

Conflicts:
	apps/openmw/mwscript/aiextensions.cpp
	apps/openmw/mwscript/docs/vmformat.txt
fix typo
Merge remote-tracking branch 'scrawl/button_fixes'
Merge remote-tracking branch 'scrawl/master'
post merge fix: bringing code more in line with our naming standards and fixing an invalid name (names starting with double underscore are reserved in C++)
Merge remote-tracking branch 'scrawl/ai_script'
updated credits file
cache results of query for spash screen names

ResourceGroupManager::listResourceNames returns a list of all resource
accessable which is expensive, this change caches the result of the
processed query so additional splash screen changes are quicker.
components/to_utf8: add class Utf8Encoder
mwiniimporter: use Utf8Encoder
components/translation: use Utf8Encoder
ESMReader, ESMWriter: use Utf8Encoder
components/to_utf8: keep only Utf8Encoder
Get rid of some unnecessary case-insensitive compares
Use a list of mesh names instead of mesh objects
Merge remote-tracking branch 'blunted2night/loading_screen_fix'
Add a test for to_utf8 component