Fix #48: Added support for most common GValueArray types.
Cleaned up and restructured code a little bit