Refactor

I removed the hand evaluator and used another npm module instead. That module actually uses an algorithm to evaluate hands so it might (or might not) be more efficient. I'd like to have more unit tests on the hand evaluator itself so I might fork their repo and add unit tests there.

I fixed various bugs and edge cases that the engine didn't handle and added some unit tests (also not as many as I wish there were) to make sure those issues stay fixed and control the behavior of the engine.

Example of issues solved: position of small blind and big blind when there are only 2 players, minimum legal raise amount, etc.

Please let me know what you think, if this looks cool or if it could use some improvements.

Ultimately I'd like to create a generic game engine that could support many types of board games by way of add-ons (other variants of poker, other variants of card games, and some other popular commercial board games).

Thanks