Message tapping

Implemented message tapping.
Users of the library can override collectionView:didTapMessage:atIndexPath: method and receive taps on messages.
If method is not implemented, cell bubble will not receive taps and will not be highlighted on tap.
Also this implementation takes into account visibility of keyboard and will turn off recognition of cell tapping while keyboard is displayed.

This pull request includes changes from #373