Merge pull request #752 from houqp/new_ui_code

pick KUAL support files from master
move adjustGesCoordinate from Screen to GestureDetector

also adjust swipe direction according to screen view mode
remove onGesture method overload in BBoxWidget

since ges pos can be acqured by the second argument
move toggleswitch into separate widget file

also remove onGesture method reload in ToggleSwitch widget
update config.lua after moving toggleswitch to separate file
add math.lua, move all math related helpers in to it
Merge pull request #754 from houqp/new_ui_houqp

move adjustGesCoordinate from Screen to GestureDetector & bug fix
Merge pull request #755 from houqp/new_ui_fix

some code clean up
cleanup: remove debug info on bbox
set zoom mode to content after manual cropping
cleanup: remove debug info
restore zoom mode when toggling reflow on/off
cleanup: use additional param in favor of flag variable
hide certain directories in FileManager
The exclude pattern should be editable by users in the future.
Merge pull request #757 from chrox/new_ui_cleanup

cleanup: remove debug info on bbox
Merge pull request #760 from chrox/restore_zoom_mode

restore zoom mode when toggling reflow on/off
Merge pull request #761 from chrox/hide_dirs

hide certain directories in FileManager
separate abstract interface EventListener from Widget
The rationale is that some non-widget modules like ReaderKoptListener should be able
to handle events.
rename ReaderKoptinterface to ReaderKoptListener & save zoom mode to normal_zoom_mode
remove default options in KoptOptions and CreOptions