LCD_KCAL: Make it not suck

 - Replace nasty lut struct with platform device based info.
 - Remove all sweep2dim code, we can do that elsewhere.
 - Remove get/set functions, all work is done in store/show functions.
 - Get driver initcall out of device file.
 - Unify update_preset_lcdc_lut and mdss_mdp_pp_argc.
 - Use a single function to adjust and apply values.
 - Check store functions count size properly.
 - Use boolean value for inverted display.
 - Use proper probe/remove macros.
 - Load initial kcal values directly from display.
 - Load driver with late_initcall.
 - Use platform driver to properly remove device files and free mem.
 - Clean code style.

 - sweep2dim will require a commit following this