Hi Daniel,
I think that your best option is to think to what it is a "mesh network" before heavily modifying the code.
The mesh module defines a NetDevice that wraps one or more "normal" Wi-Fi NetDevices, For real there is a new MeshWifiInterfaceMac, more on that later.
The routing protocol dependency is in the NetDevice. If you really need to have a no-op routing protocol, you can define it, or you can modify the NetDevice to handle the case of null pointer (i.e., no L2 routing defined).
I'm not a Mesh protocol expert, so I can't tell how much the MeshWifiInterfaceMac is different from an AdHocWifiMac, and if it could be used with a "normal" WifiNetDevice (probably yes).
From what I can understand from the code, modifying the NetDevice to fix the routing dependency shouldn't be too hard, but it can be confirmed only doing it.
Summarizing: I'd try to modify the code, or to see if an AdHoc Wi-Fi network is *that* different from a mesh NetDevice (L3 routing works on AdHoc Wi-Fi).
Cheers,
T.