Fixes issue #28 where place_component fails on KiCAD 9.0.5 with:
'FOOTPRINT' object has no attribute 'SetFootprintName'
KiCAD 9.x API changed from SetFootprintName() to SetFPID(LIB_ID).
Changes:
- place_component: Parse footprint string and use SetFPID with LIB_ID
- update_component: Parse footprint string or preserve existing library
- duplicate_component: Use source.GetFPID() directly
All three methods now use the KiCAD 9.x API while maintaining backward
compatibility with the footprint parameter format.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>