Enhancements for cplusplus based protocol handlers.

I think these would be useful for everyone.
I made these changes to enable cpp to be used as a protocol handler.
I have some cpp classes that I'll look at sharing once they are more fleshed out, if your interested.
The errros;
```
In file included from main.cpp:20:
In file included from ../libwebsockets/lib/libwebsockets.h:27:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cstddef:36:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:494:1: error: templates must have C++ linkage
template <bool> struct __static_assert_test;
^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:495:20: error: explicit specialization of non-template struct
      '__static_assert_test'
template <> struct __static_assert_test<true> {};
                   ^                   ~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:496:1: error: templates must have C++ linkage
template <unsigned> struct __static_assert_check {};
^~~~~~~~~~~~~~~~~~~
3 errors generated.
```

And yeah, moving the include outside the extern works, I didn't try that. (pretty stupid of me)

I'll make the change, and add another pull request ? (I'm VERY new to git)