Drop support for cross-building on 2.9.3

This means we can use universal traits for type classes.
It also means we can use some newer scalac options, as
well as possibly value classes, macros, or other new
2.10 features.