Extending JavaScript Arrays While Keeping Native Bracket-Notation Functionality