Rate-Adaptive Runlength Limited Encoding for High-Speed Infrared Communication