Add Platform.hpp
Move platform-specific code out of core
Change core to reference new namespace

Also place isMagnetLink back into core, it's not platform specific