More warning cleanups

 - ~~Add `#pragma warning` to dyncom and skyeye stuffs to ignore their warnings on MSVC~~
 - Remove some duplicated macros and unused variables
 - Use block comments to avoid warnings with line continuation character 
 - Add a `ToBool()` method to `BitField` to avoid manually/implicitly casting to bool