Further refactoring, use GFlags for flag parsing.

We are now using GFlags instead of a custom configuration with argparse.
This is more efficient, easier to maintain, and does not introduce any
dependencies that were not previously needed. Documentation has also
been updated to reflect these changes.