adds custom attributes

A first implementation of custom attributes. 
To demo it, gestures have been made fully independent and optional module.

Before adding documentation and sample, a review is needed please.
Copy/paste issue: the constructor is probably not used to dispose the handler instance.