Several whitespace changes to the output in order to make the resulting
cpp file consistent with how cpp is formatted in the repo.
- Properly align the opening of the first comment block.
- Properly align the closing brace of the Sci namespace scope.
Methods in scifx_to_cpp.py refer to arrays outside of their scope.
Refactored them to take them as parameters instead to improve
readability.
Tested by calling on the .scifx files in the same directory as below.
Output is unchanged.
```
python .\scifx_to_cpp.py .\lsl2.scifx
```
The scifx_to_cpp.py script has methods intermingled with method calls
that execute when you call the script. Moving the method calls under
a "__main__" header to improve readability.
Tested by calling the script like shown below on the .scifx files in
the same directory. The output is the name.
```
python .\scifx_to_cpp.py .\lsl2.scifx
```
The end result of these rules is palette adjustments, so there's no
reason to create custom code for each effect. Searching for palette
mods has an O(n) complexity, but the dataset is quite small, so it
should be negligible.
This adds a devtools script to convert scifx config files from FreeSCI
into C++ code to apply the palette mods.
The actual palette mods are by Matt Hargett, and from FreeSCI.