Instead of adding the name argument to a constructor when FW_OBJECT_NAMES
is enabled, always supply a name argument.
Add a marco that conditionally sets the name to "" if FW_OBJECT_NAMES is not set.
This cleans up a lot of the conditional compilation switches that weren't being tested
and would silently break, while still stripping the strings from the binary.