Add rumble support

Add support for the Rumble Pak using libretro's new rumble API. Also added four core options to choose the Pak (rumble or memory) attached to each pad.

A rather crude approach to modifying the controller Pak is used because we will first be called before `controller[n].control` is initialised.