Cherrypicked - Replace getUserData()/setUserData() with CustomEvents

Conflicts:
	extensions/firefox/components/PdfStreamConverter.js
Fix make.js so that make mozcentral works
Support rangeSupport === 'force' in addon
Add custom events for document load and page render
Add test specifically for range requests

This test has large amounts of junk in it so that it forces
multiple range requests to be make in order to fetch xref as
well as page tree
Trigger pagerender when drawing operations complete
Determine if server supports range requests from original channel
Make download logic work when server only supports single request
Rethrow MissingDataException when try/catch around linearlization