add printer interface and console implementation
add ticket printing support