Move VS workarounds to one place, use proper include guards

"#ifndef round" was triggering everywhere, causing even proper platforms to use
the workaround (slow and unprecise!)