You don't need a complex seed, just a sufficiently unpredictable one; microtime is generally unpredictable enough (especially the microsecond part); but it's best to use the rest of the microtime as well, as using only the microsecond part limits you to a space of only a million possible sequences out of the full four billion. It's worse still if the platform you're running on doesn't have a microsecond-resolution clock.
Basically all the seed is is the number that the generator starts from (if you give it the same seed on two different occasions, the sequences generated are identical; if the seeds are different, different sequences is generated). When you ask for a number from the generator, it takes te seed, cranks it through the algorithm, and gives you the number that drops out the other end. It also holds on to that number as the seed for the next time it needs a number.
Actually, the Mersenne Twister is a bit more complex than that; the number you initially give it as the seed is first mangled a few hundred times and the results stored in an array. Successive calls to the generator sees it grinding through updating the elements of the array (which acts as a kind of memory of the last few hundred numbers generated) while it works out which number to return. But before it does return it, it "tempers" it a bit more; shifting, xoring, and doing a few other bitwise operations with a few extra magic numbers.
That said of course, it's certainly possible (and it has been done) to write a script that will connect to a genuinely random source of bits that may be available and use that.