Add a bounds visitor

The bounds visitor checks looks for built-in traits implementations and
verifies that the type fulfills such trait.

[RFC #3]
cc #13231
[breaking-change]
Implement built-in trait for some types

cc #13231