A composable RESTful JSON+HAL API to DBIx::Class schemas using roles, Web::Machine and Path::Router