Initial shared recyclist implementation.
Add Recyclist.forget() and use it to revoke photo URLs.
Add display:none to other panels as hack to avoid overpainting.
Assorted Recyclist improvements.

* Populate items in reverse order when scrolling up.
* Use separate recycle multipler to avoid recycling items just populated via async
* Allow static multiplier to be configured
Render photos asynchronously using requestAnimationFrame
Fix clientHeight of items
Fix scroll height
Use <p> from template instead of appending each time.
Use translateZ hack to reduce paint area (will-change) in the future.
Revert "Assorted Recyclist improvements."

This reverts commit a3ad8b0928217331f60f2f49c1fff980653acc0d.

Reverting due to this causing a lot more reflows than we want.
Add define for visibleMultiplier
Add fixes from bug 975831 with last scroll fixes.
Update recyclist
Upstream fixes to recyclist
Upstream recyclist changes