Here my workaround:
1) Create an intersect of your lines layer (path/footways) and your polygon layer (grid or areas, e.g. neighborhoods) where you want to represent the density. Your polygons, areas, need a unique identifier (e.g. id). Make sure that the lines are the first object and, as you want to calculate distances, that both files are in the same projected coordinate system, with meters as a unit (e.g. in London UTM30N or EPSG:32630).
2) Open the attribute table of the intersect file. Open the field calculator and create a new field (e.g. road_length) of type real/decimal numbers. In the expression field type:
$length. This will return the length of every segment in meters.
3) Run statistics by categories. Use the intersection layer as input, the field to calculate the statistics would be 'road_length', and the field with categories would be the unique identifier of your polygon file (id). As a result you get a table with the statistics of total road length for each of your ids or zones.
4) Join the attribute 'sum' to your polygon/grid layer using the unique id, and create a new attribute for road density (similar to step 2). This attribute is then: (