Cool article, explains how you can do anything using Python, although doesn't mention Mapnik. However, for most people, these days I would recommend to try TileMill (https://www.mapbox.com/tilemill/) to make a map. The CartoCSS can let you style anything based on attributes and it also lets you add and style raster data.
Can you draw brightly colored lines on roads for a bus map? I like to mess around analyzing bus routes, but so far I haven't been able to find a computer-based tool for drawing them effectively.
I would probably draw in QuantumGIS and export as shapefile. There are many many ways to draw or otherwise generate spatial data. I think it depends on what you mean by 'effectively'?
Edit: Ok, I just re-thought your comment, and perhaps you mean to 'highlight' the existing road paths if they are also bus-routes. That would be trivial if your roads lines have attribute "bus_route". You can also add the attribute, then in QGIS you can select such paths, edit them and set the attribute as 'true', in TileMill you would then add a style to change color for lines with such attribute. Also, if the streets have names and you have a list of such streets, you can do a CartoCSS selection based on the street names attribute.
This is trivial - assign a value to an attribute for all segments that are part of a bus route, then style accordingly (preferably in a gis, the approach in the op is a cumbersome roundabout way)
Also, I just realized, if the bus routes are not in the OSM, he could use the new iD editor and add the bus routes to OSM under his account, and then export :)
be aware though that it is tile based and that comes with a price. for example you cannot have huge labels. also the dependency on many node.js packages can be annoying.
That looks pretty interesting. I'll have to show my dad this stuff - he's a cartographer that specializes in Adobe Illustrator and makes large print maps. He's been looking at easy ways to transition to the web while maintaining high visual customization.