I think it's an impractical requirement to expect a library writer to name his classes in anticipation of what might be going on in some other package he's never even heard of. Class names are intended to convey meaning to users of a package, not to ward off the lost and wandering.
"Don't rely on package names" is not really helpful advice; separating namespaces is what package names are for, and if you're going to ignore them, you get what you deserve.
Especially in this case, where Play has created the play.api subpackage specifically for the purpose of containing the Play API.
"Impl" sucks, and is ugly too. Really.