I fixed `parseRgb` with a one-character change, and `npm test` now passes.

**The bug:** the range check in `src/parse-rgb.mjs` used `channel > 256`, so a channel value of 256 got through. The contract only allows 0 through 255, so I changed it to `channel > 255`. Now `rgb(256,0,0)` returns `null` as it should.

The rest of the function already matched the contract. To make sure, I also ran a few extra edge cases from the contract (not added to the test file), and all gave the expected result:
- Surrounding whitespace and leading zeros are accepted.
- Signs, decimals, percentages, non-ASCII whitespace or digits, a fourth component, an empty string and `String` objects all return `null`.

That is the only file I changed. I didn't touch `protected/` and didn't write any notes.