Tools: Use Q_macros instead of Qt keywords
Put a strong reference from a JSEventListener to its wrapper.

This should fix #54.