It could theoretically connect all neighbours together and NOT simultaneously tx/rx because the wifi radio can only either or, not both at the same time.
1. Vanishing bandwidth
Usable bandwidth gets less at each hop. It might never be able to replace an infrastructure.
2. the dense mesh problem
To connect neighbours without internet, they want to be pretty close to each other... like one in every apartment. That will then make so much noise that there might be no communication possible over more than 2-4 hops.
The OLPC experience
OLPC networks used to basically melt down over 1 hop, much less several, due to the dense mesh problem.
1. Other Implemetations
Yan Hetges has been actively deploying a wifi adhoc mesh network with ?OpenWrt and derivates since 2006 (it has ~15 nodes and covers an area of maybe 15 km^2).
Dave Taht has been working on mesh networks for a long time, with things like OLPC, etc. I used google earth using gps to locate places and height above ground to make estimates of beam paths possible - ?zoom in below San Juan Del Sur, Nicaragua (requires an Earth browser).
Babel implements "diversity routing" - what that is is that it tries to choose a non-competing wifi channel for forwarding packets from one box to another. this does of course mean you need two radios, on different channels, for it to work. This holds great promise for making mesh networks scale. Some info on that http://www.pps.univ-paris-diderot.fr/~jch/software/babel/wbmv4.pdf
The other one is that the codel work holds great potential to help establish a congestion aware metric which could lead to dynamic load balancing working semi-sanely across multiple paths. We're not there yet tho, I'm not happy with any of the routing metrics currently being used.