Hey there! I started the micronucleus project, so I know a bit about it.
@dougal the protected memory thing is a generalisation - the ATtiny85 doesn't have the hardware bootloader support the mega's have, so the bootloader is totally unprotected! This is why digistump and myself discourage using flash/progmem as storage.. need to be very careful if you do!
Dougal is basically right about what the bootloader does and how it functions. The driver on windows is to allow it to recognise the device, so libusb can talk directly to it. I believe it is just the standard libusb driver, customized to micronucleus's vid/pid pair. The driver itself doesn't know anything about bootloaders - it's just lets programs like the micronucleus command line tool talk directly to devices that identify themselves as one. Our bootloader is designed to be extremely compact, and I believe it still is the reigning champ in smallness by far. Adafruit's attempts pale in comparison!
Back to the subject though.. when you make a bootloader, you're making an AVR program which listens to some interface (serial, usb, spi, audio, whatever) and if it detects any traffic within a second or so, it goes in to a mode where it listens and downloads a program, reading bytes in, and erasing and writing to parts of the device's own flash memory. AVR devices can do flash self programming like this. On the attiny85, this means the bootloader buffers in 64 bytes IIRC, then goes to sleep for a couple of milliseconds while the hardware copies those bytes in to flash. On some of the atmega chips like the ones in arduino's the chip doesn't need to sleep while it writes.
When the bootloader is done with any program downloading, it then has to jump in to the program, after which the bootloader is ideally totally inactive. With micronucleus, this hasn't been true in the past - it has to hijack the pin change interrupt, so whenever that interrupt fires, it goes through micronucleus, which detects it isn't running, and jumps in to the user program, adding a little bit of latency. People working on micronucleus now are building a 2.0 version, which will require an updated command line tool, but won't hijack the interrupt and will be quite a lot smaller. It's considered experimental for now but is really promising. I've been busy with other stuff lately so I haven't really been working on micronucleus in a while. It's pretty rad that people like it enough to keep making it better, and in really impressive ways.
Since you're making a device where the AVR will be talking serial, not USB, you have heaps of choices for bootloaders. I strongly recommend using an existing bootloader over trying to make your own. Bootloaders are difficult and complex to debug. TinySafeBoot is a good option. It's about 550 bytes big (micronucleus, depending on the version, is around 2000 bytes!) giving you heaps more space for your own programs.
http://jtxp.org/tech/tinysafeboot_en.htm It also supports a single wire version, so you can use it in really cramped environments.