Typeclass based deserializer

Implemented #17 with much room for improvement yet.

- Introduced composable `PartialDeserializer` which is implicitly resolved for each `RedisCommand`.
- It still uses cursor-based mutable `RawInput`, but localized mutability as much as possible.
- Removed intermediate `trait ~Command` because commands are already grouped well enough into each container object.