IntroSort - ugly as hell, but shows how fast it is..refactoring needed