As far as compatibility goes, I was looking up the parts list for the Lumia 900 and found that virtually all of the parts are compatible and are in use with current android phones.
Part Model # Andriod support Android phone with part
Processor Qualcomm Snapdragon S2 (APQ8055) YES (lots)
GPU Adreno 205 GPU YES HTC Desire S
Modem Qualcomm MDM9200 3G/4G YES HTC Vivid
Touch Atmel mXT224 touchscreen controller (MXT-N0K1 CCU-1R0 1G3818B) YES HTC EVO 4G
WiFi Broadcom BCM4329 (BCM4329EKUBG) YES (Cyanogen mod)
RF Tranciver Qualcomm QTR8600 (QTR8615L ACV313.0 H41470A7) YES HTC Thunderbolt
GSM/EDGE Avago ACPM-7868 YES Driod 4
USB SMSC USB2512B YES HTC Thunderbolt
All that needs to be done is accsess the bootloader and compile a kernal and grab the exstention from CM...
Part Model # Andriod support Android phone with part
Processor Qualcomm Snapdragon S2 (APQ8055) YES (lots)
GPU Adreno 205 GPU YES HTC Desire S
Modem Qualcomm MDM9200 3G/4G YES HTC Vivid
Touch Atmel mXT224 touchscreen controller (MXT-N0K1 CCU-1R0 1G3818B) YES HTC EVO 4G
WiFi Broadcom BCM4329 (BCM4329EKUBG) YES (Cyanogen mod)
RF Tranciver Qualcomm QTR8600 (QTR8615L ACV313.0 H41470A7) YES HTC Thunderbolt
GSM/EDGE Avago ACPM-7868 YES Driod 4
USB SMSC USB2512B YES HTC Thunderbolt
All that needs to be done is accsess the bootloader and compile a kernal and grab the exstention from CM...