make proxy_container into a class; new/delete

Like this. Tests pass in 0.11.8, 0.10.22 and 0.8.25 with these changes.

The difference between the old way of assigning `Persistent` references and the new way is this (this is from nan.h):

```c++
// old
handle = v8::Persistent<type>::New(obj);
// new
handle.Reset(nan_isolate, obj);
```

Since you can't just assign to a `handle` variable now you need an existing empty handle to `Reset()` to. If we make `proxy_container` into a class then we get empty handles initialised on `new` which we can then `Reset()` while old V8 can reassign.