Improve generate_gradients tool

Changes:

- Port argument parsing to argparse
- Add weights support
- Add ability to specify cterm palette
- Purge out first 16 colors from color choosing by default
- Improve different scales and different preview length support