Dynamic inheritance. Fixes #12 and fixes #13

This PR makes inheritance dynamic. Now when `R6Class(inherit=AC)` is called, it stores only the unevaluated expression `AC`, and not a copy of the `AC` object itself. The expression is evaluated at object instantiation time, instead of at class creation time.

This also allows for explicit namespacing of superclasses, with something like `R6Class(inherit=pkgA::AC)`.