split platform definitions out of mk/platform.mk

The goal here is to make it easier to add new platform definitions,
especially when the additions are programmatic (ie: in build scripts).