Coral: A Unifying Abstraction Layer for Composable Robotics Software