macosx: move re-useable code from menu to core interaction object
macosx: clean-up string utility
macosx: fix warning
input: fix warning