call $callback via call_user_func

I needed the ability to route to HTTPResource::GET, HTTPResource::PUT etc.
so i changed the way klein calls the route handlers.

By using call_user_func, any callable will be accepted as valid.

Should be fully backwards compatible.
Also added a test to ensure it actually works.