Handle long press gesture with gesture recognizer

Original implementation of handling long press gesture with ```touchesBegan``` wasn't very reliable in my experience (though it works fine in the example project). Specifically, ```touchesEnded``` method wasn't called after long press in some cases and index view seemed "stuck" with enabled highlighted background (I've tried adding ```touchesCanceled``` method too, but I still wasn't satisfied with the result — the background would blink the moment "long press" turns into pan gesture).

The solution for me was to rewrite ```touchesBegan``` / ```touchesEnded``` methods with simple ```UILongPressGestureRecognizer``` and one delegate method. Everything else works the same, but background always un-highlights when you lift the finger and gesture handling is more concise now.

P.S. Thanks for the project. 👍