Fixing USB NKRO key buffer bug

- Missing a byte in the array
Making all the configurable CMake variables externally settable

- Use CMake -D arguments to set variables (so you don't have to edit the CMakeLists.txt file)