Adds missing template specializations and a test for Rooted/Handle templates.

This also allows us to avoid the implementation of ToJSVal specializations for JS::Value and JS::HandleValue.
Such conversions should only happen if there's no way around it and if you are aware of it.
The test makes sure that all potentially required specializations with custom implementations are instantiated.
This should help prevent introducing bugs in temporarily unused code.