add switch jump tables for Win64, Linux, FreeBSD and OSX

This adds the optimization for switch statements that result in jump tables. Previously, this was only done for Win32. For many switch statements, this should substantially increase speed.