Gee, thats lots of ideas...
But it's hard to code for me personally and I dont see it happening at all
Even if it was possible it would really be too time consuming