By not re-using JS event emitters, if a JS/C++ wrapper is created twice for
a `QObject` then any previously registered event handlers will be overwritten
and lost when the `QObject`'s `initNodeEventEmitter()` is called for a 2nd
time.
This adds a couple small methods on `QObject` which makes it possible for
JS code to indicate to the currently running `QObject::event()` override
method whether it should allow more processing of an event or to stop
processing and not call super class `event()` method. This is Qt recommended
(C++) way of overriding event behaviour and stopping default behaviour.
* Added QMessageBox
* Adds Qdialog
* Fixes inheritance and adds pointer based event listener
* Cleans up Qmessagebox so that we create all buttons
* change to abstract button
* fix rawData fetching from the template
* formatting fixes
* change to Objectwrap for better type casting
* Adds Native element part in qpushbutton
* Adds NapiExternal check and use ptr for initialization
* Adds all button classes
* fix c
* fix merge conflicts
* lint fix
Co-authored-by: Atul R <atulanand94@gmail.com>