Added sketch for VM

DO NOT MERGE
This is just a sketch.
Please comment.
Getting a property object is useful, for example when you want to iterate through them and introspect the property type etc. But in many cases all we want is a value. Should we have a helper `v7_get(struct v7_object *obj, const char *name, v7_strlen_t len)` (for now `v7_get_2`)?

Or should we have a helper `struct v7_value v7_prop_value(struct v7_property *)`
that returns an `undefined` value when the passed prop is NULL, for easy chaining?