Решил переписать невыложенную статью greatkyak (с его разрешения), которая, в свою очередь, была переписью какой-то статьи ParussMan. Изначально работа планировалась на конкурс малой формы, но не влезла, а обрезать было жалко.
читайте-оценивайте-комментируйте