ping request not forwarded in one direction
Solution 1:
I solved my issue just as I was finishing this insanely long post. I had simply not enable ping reply in my windows firewall which is why I could not ping a computer on network 0 from network 1 or 2 (see below). And of course, when I tried to ping the internet router on network 0, it didn't work because I neglected to setup the non-default gateways on it like I did my windows.
So, I give you the 'right' way to setup a linux box as a simple gateway between subnets. Just remember to setup all your gateways on the clients correctly (simple rule: default gateway should be the route to the internet, then setup 1 gateway for every subnet attached to other gateways in your subnet.