On the market, you find a lot of displays. 16x2 LCD are cheap (2-4$), you find also Nokia displays for 2$ (84x48 pixels) or OLED displays for 5$ (128x64)The problem is always the RAM on the Arduino. We can't store all this data, so we have to calculate the position of each character in real time and we can't store it in a variable.So, the best solution is a 16x2 LCD display or a 20x4 LCD display. I think 16x2 should be enough for this project.