Merge 'performance' branch

Performance tuning, benchmarks, and code cleanup.
Update cabal file with new dependencies