That would be handsome, but how do you define "Activity" ?
Is composing an email in a webbrowser an "Activity"?
How would Unity know that you're writing an eMail? Would we have to map a bunch of default use cases of your computer to a new Activity Detection Grid ?
I think an activity is most predominantly defined by how it is started, so that's how and where one would start determining it to begin with.
If you have a "prism" in your unity launcher which, upon click, opens an Epiphany tab with
mail.google.com in it, that prism could be called "visit google webmail", and that would accordingly also be the name of the Activity associated with doing stuff in that browser tab. But unless you succeed in creating some sort of "timestamp" with semantic information attached to it, saying "[Owais] [started] [managing music in his rhythmbox]", it will be all the more difficult to later on scan your Activities, name the ones that are still on and display them in a useful manner in your proposed "Activities" place.
OTOH, all of this can't be too chaotic at the end of the day, human beings don't have more than 2 or 3 activities going in parallel. Most of the things happening can be categorized into background progresses, persistent services and subconscious interaction.
E.g. clicking a button is not an Activity, it is more of a subconscious interaction routine to the user. Or downloading a file in the background is not an Activity, but a background process.
But managing downloads in a management interface is an Activity.
I think an Activity can be paused, can be hidden conditionally (unhide upon [event]), can be terminated. WM problems such as whether or not to implement "minimize" or "iconify" are irrelevant here, fortunately, since what you are proposing is a major step out of the WIMP world.