Changed std::vector to std::list to avoid iterators getting invalidated when messages are added in the update loop
Added show/hide cursor implementation
Cleaned up spacing