What is carpet weaving and how is it done?