MSVC fixes and improvements

* Fix a crash with debug logging enabled in Release mode. This was due to
  setting memset and friends to empty calls in grub
* Split the grub and driver part
* Remove the need to define an entrypoint in the project by updating the
  EFI_DRIVER_ENTRY_POINT gnu-efi macro
* Other improvements