Script has been refactor and now easily allows for the creation of new
windows/buffers upon function call. Tracking windows/buffers previously
was invalid and lead to visual glitches of buffers. Windows/buffers now
belong to a context manager found within Vim's global scope, due to ease
of accessibility.
Created function `new()` which is responsible for constructing new
windows/buffers, updating the global context manager of newly added
windows/buffers, and allowing for customisation given by plenary.popup.