One Big Merge

This is everything that has happened since I last pushed something to this branch. I am merging again just so I can sort my repo's out and have somewhere with the changes. For anything I change and test I will start to push here and manage this branch as a TEST for myself. PIE stuff is working well at the moment and I'd like not to have to merge it all again :)