Added sketch for VM

DO NOT MERGE
This is just a sketch.
Please comment.
Yep. scalar values therefore will be copied.

On Wed, Dec 17, 2014 at 2:09 PM, Marko Mikulicic <notifications@github.com>
wrote:
>
> In v7.c <https://github.com/cesanta/v7/pull/43#discussion-diff-21973029>:
>
> > +/*
> > + * Create an empty object with the given class
> > + *
> > + * Last arguments to a function depend on a type, see `v7_set_property()`.
> > + */
> > +struct v7_object *v7_create_object(struct v7 *, enum v7_type cls, ...);
> > +
> > +/*
> > + * Set a property for an object.
> > + *
> > + * Last arguments to a function depend on a type:
> > + * - For `V7_TYPE_UNDEFINED` and `V7_TYPE_NULL` - no argument
> > + * - For `V7_TYPE_NUMBER`, `v7_num_t` argument
> > + * - For `V7_TYPE_BOOLEAN`, `int` argument
> > + * - For `V7_TYPE_STRING`, `v7_strlen_t` followed by `char *` argument
> > + * - For any other type, `v7_object *` argument
>
> But the property contains struct v7_value so the content of the value
> structure will be copied (although not the object pointed by it), right?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/cesanta/v7/pull/43/files#r21973029>.
>