All your spec and expectations up to point 4 look bang on. I would only say point 5 is one you may be able to handle pretty easily using Activity map as previously mentioned.
Clicking on a page element will in most cases apply to links(html or action) or buttons. If that is indeed the case then as long as you use good link ID structures then activity map will capture the interactions of users clicking them.
If you have not turned on Activity map on your report suite do yourself a favour and enable it. Will save you from tons of extra custom link coding...
For the link clicks to other internal pages we do have Activity Map to understand the interaction. For exit links and downloads we have inbuilt tracking if we have proper base implementation in place. For video viewing, we need to extend our tracking to add few more codes. For others, we should include custom links as you said above.
So, we need to understand the meaning of 'Page Interaction' before advising you.