makefile: add support for passing extra flags to C/C++ compiles

This allows us to provide specific flags to specific groups of
files being compiled.  This is very useful for selectively
enabling/disabling options on groups of files.
makefile: add template for generating gcov reports
unittest: use EXTRA_FLAGS for building gtest library
unittest: add _gcov target for building gcov reports for unit tests

gcov reports are found in ./build/unit_tests/<test>/*.c.gcov
sim: enable gcov data collection for sim build
makefile: add order-only prereqs for gcov targets for parallel builds
Revert "Merge pull request #730 from kubark42/add-text-bubble-sliders-v2"

This commit broke the build on windows.

This reverts commit 69883b7663ba4677300c37086bd77c0a7cd4a179, reversing
changes made to 10d54747d345545f6d8f6672d4d3fc52539f297a.
Merge pull request #736 from lilvinz/revert_730

Revert "Merge pull request #730 from kubark42/add-text-bubble-sliders-v2
Merge pull request #728 from solidgoldbomb/run-gcov-on-ut

Run gcov code coverage tool on unit tests (and sim)