As per the title, what hardware do I need to be able to run various versions of Android?
Start with the Android compatibility page. This outlines goals for Android's compatibility and links to the current Compatibility Definition Document which has the technical requirements. All versions of the CDD to date are below.
These are also linked to from the Android Compatibility Downloads page which also includes test suites.
The requirements in these documents must be met for a device to be "Google Approved" and ship with the official Google apps such as the Play Store and Google Talk. However, they are not necessarily hard requirements. Since Android is open-source it can be modified to run on lesser hardware, and the opposite is possible as well — modifications necessary to run the OS on a device may make the firmware image too large to fit on it, just for example.
http://source.android.com/compatibility/android-cdd.html#7_6_memory_and_storage now contains the following table:
I could not find a per-Android API version requirement: the display size is the defining factor there.