Changed ScreenManager instance to work with shared_ptr
ScreenManager now uses shared_ptr for all its vectors
Added an instanceId for screens