Support any type that implements fmt.Stringer in ObjectIdHex and IsObjectIdHex instead of simple string

This change allows using of any type that implements fmt.Stringer in ObjectIdHex and IsObjectIdHex functions.

Example:

If we have type ```type UserId string```, we have to typecast UserId to string.
With this change we simply pass the UserId object without typecast.