A 2D graphics library with support for multiple output devices