Port from Python2 to Python3

- it still works with Python2, but probably it is not worth the effort maintaining that in future.
- fix setup tool (desktop file still missing, will fix this in the next pull request).
- use editor.commit_to_preedit() instead of deleted editor.l_shift ()  
    Resolves: rhbz#1072940 - Left Shift stopped work for ibus-table-1.5.0.20140218-1.fc20.noarch
    See also: https://bugzilla.redhat.com/show_bug.cgi?id=1072940
- add profiling support
- other minor fixes