Added SIP (see extended desc.) and fixed bookshelf

The SIPKeyboard is an early implementation to software input needs.
Current the integration interface (from a TextInput) is fairly rough. In
future versions a proper interface will be extended.