A better subtyping of Array.

Based on http://www.2ality.com/2011/12/subtyping-builtins.html and http://www.2ality.com/2013/03/subclassing-builtins-es6.html