A Multi-Kernel Multi-Code Polar Decoder Architecture