Optimize ByteArrayInputStream

This saves a few seconds at startup. It's also used a lot in general, so it's worth implementing it in JS.
*ByteArrayInputStream.skip* should return "the actual number of bytes skipped," i.e. *n* rather than *nLong*.