Smart Cards: The Developer's Toolkit