Wx widget3 port

Have fun reviewing that one :smile: 

Anyway it breaks down to:

* delete the wxWidgets directory
* add a submodule instead
* use unicode instead of multibyte
* because of this wxStrings that get passed t othe Format and Print functions need to be passed with wx_str(), all the mb_str() created wrong encoding

It should be noted that once this is merged you can no longer change branches between ones that have the subdirectory and the ones that have the submodule, so it's time to rebase all branches folks.