Add custom array methods that can chainable, like subclass Array, but not modify Array.prototype, works in ES3+