Better: Each time you moved, you'd move automatically every (move_speed x 0,9) in the same direction until you hit an impassable tile (or ran out of momentum). Finally a way to chainfire and dodge at the same time =)
Moving in a different diraction while this movement happens would adjust the vector accordingly, moving in the same direction would increase the speed of automatic movement (with some upper limit) and moving in the opposite direction would cause you to fall and be unable to change do anything until the automatic movement stops.
BTW, to make this realistic, non-flying monsters would have to be subject to this as well... demons would be hilarious like this, though what I'd really love to see is the cyberdemon slipping on frozen-over hell floor and sliding across the map.