The OSRM Tile Service Curl Sample Code demonstrates how to implement Mapbox Vector Tiles that can be viewed with a vector-tile capable slippy-map viewer. The tiles contain road geometries and metadata that can be used to examine the routing graph.
It used to be you could change anything layered on top of a map, but you couldn't change the underlying map itself. Now you have several options for changing the color palette and the visibility of different objects that make up your base map. The options vary on the amount you can customize and how much work is required. But all three of these APIs can have you map scripting with style.