Как технически реализован быстрый чат VK?
Я не в курсе как это у них реализовано, но думаю что примерно так:
1. Сам сайт - это SPA.
2. Плавающее окно сделано через простой html, css (не считая самого функционала)
3. При изменения страницы - состояние окна не меняется, т.е. отображается на том же месте, где и было ранее.
PS: Да, знаю, ответ расплывчатый, если его можно вообще считать ответом. Но возможно, вы сможете додумать что-то лучше и реализовать это.
Сделано это с помощью JS и сокетов. Это отвечает за отправку и получение сообщений. 
Плавающее окно это просто css+html.
Сохранение происходите скорее всего в сессии, в ней хранятся последние действия.