Refactor gesture, hand and pointable

* use meta programming insteed of method_missing