Added tap handling via a callback block

Resolves #11 in what seems like the simplest way. An enhancement would be to make corresponding factory methods / designated initializers to handle, but for now you just call the new `-setVisible:animated:tapHandler:completion:` method.