Merge pull request #1059 from chrox/fulltext_search

fix no k2pdfopt lib on Android
Merge pull request #1060 from chrox/fulltext_search

fix #1046
Merge pull request #1062 from chrox/fulltext_search

fix #1048
Merge pull request #1065 from chrox/fulltext_search

fix koreader not shown in recent app list
Merge pull request #1071 from chrox/fulltext_search

various fixes
Merge pull request #1073 from chrox/fulltext_search

add new sorting methods for file list in filemanager
Refactoring hardware abstraction

This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
update to latest base

need Blitbuffer:viewport() for new hardware abstraction
Bugfixes: test leftovers, wrong paths
add wrapper for FFI input.open()
Add support for files with multiple extensions (like .fb2.zip).
Move credocument before pdfdocument in the registry.
Add support for .fb2.zip files.
Make the suffix lowercase before comparing.
Merge pull request #1078 from erosennin/fb2.zip

Add support for .fb2.zip files.
Merge pull request #1076 from hwhw/hal

Hardware abstraction: refactoring
update multiple screen regions
This is useful when updating keyboard and inputbox.
only update neccessary screen regions when typing with virtual keyboard
close reader config panel when touching reader menu
add fulltext search for EPUB documents