generate output DLL name based on target os

* Arrange core::os::consts
* Use core::os::consts instead of hard-coded constant value
* Change functions in core::os to constants