bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj