separate abstract interface EventListener from Widget

This PR contains these patches:
1. ReaderKoptinterface is renamed to ReaderKoptListener.  Now each config entry can be converted to a configuring event with event handler defined in ReaderKoptListener.
2. Gamma correction is added for pdf/djvu reader.  Gamma value is configurable in config dialog.
3. set zoom mode to contentwidth after rotating screen to landscape
4. add bbox adjust by panning gesture
5. add confirm buttons in cropping dialog