Profiling and optimising most hit code

- Tighten the card suit and rank code.
- Add ruby-prof gem for profiling.