What is a ribbon graph? What is the ribbon graph decomposition of the moduli space of curves? What are some good references for this material?

There are a number of essentially different ways to get coordinates on moduli space using ribbon graphs. The survey MR0963064 (90a:32026) Harer, John L. The cohomology of the moduli space of curves. Theory of moduli (Montecatini Terme, 1985), 138221, Lecture Notes in Math., 1337, Springer, Berlin, 1988. by Harer gives an inspiring account of one of them. Another useful survey is the article "Lambda Lengths" by Penner, which can be downloaded at the bottom of the following webpage : http://www.ctqm.au.dk/events/2006/August/ Penner is doing something slightly different (his spaces have certain decorations), but it is still quite useful. 


I can answer only the first question. Reshetikhin and Turaev [Ribbon graphs and their invariants derived from quantum groups, Communications in Mathematical Physics, 1990 vol. 127 (1) pp. 126; MR1036112] provide the following definitions [p. 8; small edits]:
Well, perhaps the pictures would make it better. Let me try to explain better. My definition might be slightly different from RT's, but what really matters is the category of graphsuptoisotopy, and in the categorical sense the definitions are equivalent. A tangled graph is a finite onedimensional CW complex embedded smoothly into R^{3}. A (tangled) ribbon graph is more or less a thickening of a tangled graph into an oriented embedded surface  the core of a ribbon graph is a graph. So it's equivalent to take your graph and choose a section of the unit normal bundle. (What happens near the vertices? Think of your normal vector as pointing perpendicular to the ribbon, and you get the right answer. First require that at each vertex in your tangled graph the incoming edges all lie in a plane, and are never tangent; then the unit normal bundle at the vertex consists of two points.) RT think about the vertices of their graphs as "coupons": little rectangles, and the ribbons can only attach onto the top and bottom edges. This is the same as first using the orientation at each vertex to determine a cyclic ordering, and then picking two strands to be the leftmosttopstrand and the rightmostbottomstrand. RT consider directed ribbon graphs, in which the cores of each ribbon are directed. Then they consider colored directed ribbon graphs, in which the edges are labeled by objects of your favorite (at least monoidal rigid pivotal; I'll say these in a moment) category, and the coupons by morphisms. Then they have, essentially: Ribbon graphs are the free ribbon category, in the sense that there is a unique functor from the category of labeled ribbon graphs to your category that respects everything you want it to. Some category words: monoidal if there is a functorial "tensor" product. rigid if every object has left and right duals. braided if there is a functorial isomorphism V \otimes W \to W \otimes V satisfying natural conditions [the map V \otimes (W\otimes X) \to (W\otimes X) \otimes V agrees with the map V \otimes (W\otimes X) \to (V \otimes W) \otimes X \to (W \otimes V) \otimes X \to W \otimes (V \otimes X) \to W \otimes (X \otimes V) \to (W\otimes X) \otimes V]; ribbon if it is monoidal rigid braided and has a functorial isomorphism "twist": V\to V, which is the identity on the monoidal unit, commutes with duals, and the twist of A\otimes B is achieved by twisting in each component and applying the braiding twice. The canonical example of a ribbon category is the category of representations of the standard quantization of a semisimple Lie algebra. 


Kiyoshi Igusa constructs the category of fat graphs (ribbon graphs) both in his paper Graph cohomology and Kontsevich cycles and his book Higher FranzReidemeister Torsion and are excellent references, containing lots of details in a clearlywritten manner. There you can find, for example, a proof of the fact that the homology of the category of fat graphs is rationally isomorphic to the homology of the mappping class groups of marked surfaces. Details relating ribbon graphs to the MillerMoritaMumford classes are found there, too. 


I don't know, frankly, but have you tried plain old googling? It seems to be fairly easy to answer the first question, e.g. here: http://www.math.ohiostate.edu/~chmutov/worgrsu05/results/all.pdf or here http://www.math.osu.edu/~chmutov/worgrsu07/handouts/rgbr.pdf The second question is apparently answered in the book "The Moduli Space of Curves" by Dijkgraaf et al, specifically the paper by Looijenga on p. 369 (found in a google books result). This is also probably a good answer to your third question. 


Also worth reading: Kevin Costello's paper "A dual point of view on the ribbon graph decomposition of moduli space" (http://arxiv.org/abs/math/0601130). Barton Zwiebach's paper "How covariant closed string theory solves a minimal area problem" in Communications in Mathematical Physics. (A lot of the string theory papers from the 80s  when the string theorists couldn't get away with assuming their readers knew the relevant math  contain explanations of mathematics which a math grad student might find accessible.) 

