Dynamically adaptable user interface generation for heterogeneous computing devices