Strategies for simulating slippage

As per the thread title, I'd be interested to hear how people have approached simulating slippage, partial fills etc. in their proprietary backtesting engines.

Do you look at market depth?
How do you deal with backtesting at simulated speeds much faster than real-time?
Do you gather slippage/fill statistics from live trading?
Have you come up with some event stream processing filters?