add `compare` module with comparators

Take two. The heap code will follow later.
Yes, I can change the example so that the impl is `Compare<Vec<u8>, Vec<u8>>` instead of `Compare<[u8], [u8]>` if the goal is to get rid of the syntactic noise of the deref.