Google wallet supports barcodes. While technically you can only set up cards for libraries who have gone through the registration program, in practice they pretty much all work interchangably. Downside is you can't change the display name, so if you have more than one nearby library, it can be confusing.