Support std::function as a parameter to addFunction

This requires partial specialisation for function types that aren't
function pointers (by inheriting from the function pointer trait classes)
and then a partial specialisation for any std::function<T>.
Declare dependency on <functional> in LuaBridge header file
Fix typo, but other people have pull requests for this
Add example to demonstrate use of std::function
Merge branch 'support-std-function-example' of https://github.com/cbranch/LuaBridge