Pātuhitia tēnei: Programming Heterogeneous Hardware via Managed Runtime Systems