Add separate definitions of g_assert_[non]null() for C++
In C++ we can use nullptr to ensure g_assert_[non]null() is only called with pointers. This will introduce build failures in tests that would have previously compiled, but only in C++, and only for code that misused these macros. Code using the macros properly will be fine.
This change caught a couple bugs in WebKit's API tests, where I had accidentally used these functions improperly. E.g. this is now a build failure in C++:
g_assert_null(webkit_context_menu_get_n_items(menu)); /* Oops! */
Either I wanted to use cmpuint there, or I wanted to use webkit_context_menu_get_items() to receive a GList* instead.
Another example that will no longer build in C++:
g_assert_null(0); /* Contrived, but 0 is not a pointer! */