Improve the documentation for G_DEFINE_TYPE_WITH_PRIVATE

Connect the dots between G_ADD_PRIVATE and the various G_DEFINE_* macros
that use it, as well as expanding the code example for
G_DEFINE_TYPE_EXTENDED with a private instance data declaration.

Closes: #943
12 jobs for issue-943 in 24 minutes and 28 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Build
passed #354250
cross-android_api21_arm64

00:01:26

passed #354251
cross-android_api28_arm64

00:01:49

passed #354252
cross-mingw64

00:02:16

passed #354248
debian-stable-x86_64

00:02:36

passed #354247
fedora-x86_64

00:06:33

passed #354255
freebsd-11
freebsd-11-x86_64

00:05:59

passed #354256
freebsd-12
freebsd-12-x86_64

00:06:03

passed #354249
G_DISABLE_ASSERT

00:02:20

passed #354253
win32
msys2-mingw32

00:11:49

passed #354254
win32
vs2017-x64

00:08:50

 
  Coverage
passed #354257
coverage

00:01:24

77.9%
 
  Analysis
passed #354258
scan-build

00:11:13