object: Add GObject properties to the correct prototype

Whenever successfully resolving a property, GJS is mistakenly setting
the property in the prototype of the prototype, instead of just the
prototype. When that happens, it ends up breaking any properties of
subclasses. Suppose the following scenario:

      GObject
         |________________
         |                |
  GCharsetConverter   Subclass2
         |
     Subclass1

In this scenario, if 'Subclass1' accesses any possible property from
GCharsetConverter, GJS resolves that but ends up setting this property
in the prototype of the prototype.

If 'Subclass2' then tries to subsequently access that property, the
resolving process will accidentally call the wrong getter. This leads
to an immediate crash.

Fix that by using the correct object prototype when resolving the
properties. A reproducer was added to the test suite in addition to
the fix to this problem, as a protective measure.

Fixes #171
25 jobs from gbsneto/issue-171 in 8 minutes and 15 seconds (queued for 8 seconds)
Status Job ID Name Coverage
  Source Check
passed #59856
cppcheck

00:00:37

passed #59857
cpplint

00:00:51

passed #59858
eslint

00:00:39

passed #59855
fedora

00:02:11

 
  Test
passed #59861
no_graphics

00:01:50

passed #59862
no_profiler

00:01:53

passed #59859
sanitizer_gcc

00:03:06

passed #59860
with_logging

00:01:52

 
  Manual
manual #59877
allowed to fail manual
armv8
manual #59863
allowed to fail manual
codequality
manual #59864
allowed to fail manual
code_statistics
manual #59865
allowed to fail manual
coverage
manual #59867
allowed to fail manual
fedora_gcc
manual #59868
allowed to fail manual
installed_tests
manual #59871
allowed to fail manual
lts
manual #59873
allowed to fail manual
packaging
manual #59878
allowed to fail manual
ppc64le
manual #59866
allowed to fail manual
sanitizer_clang
manual #59870
allowed to fail manual
ubuntu_clang
manual #59869
allowed to fail manual
ubuntu_gcc
manual #59872
allowed to fail manual
valgrind
manual #59876
allowed to fail manual
zeal_11
manual #59874
allowed to fail manual
zeal_2
manual #59875
allowed to fail manual
zeal_4
 
  Delivery
passed #59879
fedora.static-analysis

00:02:57